type ReturnTypeEx<T> = T extends (...args: any[]) => infer R ? R : never;
function add(a: number, b: number) {
  return a + b;
}
type AddReturnBalue = ReturnTypeEx<typeof add>;
